home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / plaf / basic / BasicScrollPaneUI$ScrollAction.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  1.8 KB  |  55 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Rectangle;
  6. import java.awt.event.ActionEvent;
  7. import javax.swing.JViewport;
  8. import javax.swing.Scrollable;
  9.  
  10. class BasicScrollPaneUI$ScrollAction extends BasicScrollPaneUI.ScrollPaneAction {
  11.    // $FF: synthetic field
  12.    private final BasicScrollPaneUI this$0;
  13.    protected int orientation;
  14.    protected int direction;
  15.  
  16.    protected BasicScrollPaneUI$ScrollAction(BasicScrollPaneUI var1, String var2, int var3, int var4) {
  17.       super(var1, var2);
  18.       this.this$0 = var1;
  19.       this.orientation = var3;
  20.       this.direction = var4;
  21.    }
  22.  
  23.    public void actionPerformed(ActionEvent var1) {
  24.       JViewport var2 = this.this$0.scrollpane.getViewport();
  25.       Component var3;
  26.       if (var2 != null && (var3 = var2.getView()) != null) {
  27.          Rectangle var4 = var2.getViewRect();
  28.          Dimension var5 = var3.getSize();
  29.          int var6;
  30.          if (var3 instanceof Scrollable) {
  31.             var6 = ((Scrollable)var3).getScrollableBlockIncrement(var4, this.orientation, this.direction);
  32.          } else if (this.orientation == 1) {
  33.             var6 = var4.height;
  34.          } else {
  35.             var6 = var4.width;
  36.          }
  37.  
  38.          if (this.orientation == 1) {
  39.             var4.y += var6 * this.direction;
  40.             if (var4.y + var4.height > var5.height) {
  41.                var4.y = Math.max(0, var5.height - var4.height);
  42.             }
  43.          } else {
  44.             var4.x += var6 * this.direction;
  45.             if (var4.x + var4.width > var5.width) {
  46.                var4.x = Math.max(0, var5.width - var4.width);
  47.             }
  48.          }
  49.  
  50.          var2.setViewPosition(var4.getLocation());
  51.       }
  52.  
  53.    }
  54. }
  55.